#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;cin>>t;
while(t--){
map<int,int>mp;
vector<int>v;
vector<int>p;
int n,m;cin>>n>>m;
int x[n],y[m];
for(int i=0;i<n;i++){
cin>>x[i];
mp[x[i]]++;
if(mp[x[i]]==1)p.push_back(x[i]);
}
for(int i=0;i<m;i++){cin>>y[i];}
for(int i=0;i<p.size();i++){
v.push_back(mp[p[i]]);
}
sort(v.begin(),v.end());sort(y,y+m);
int u=m-1;
while(u>=0){
if(v[v.size()-1]==0)break;
if(y[u]>v[v.size()-1])v[v.size()-1]=0;
else v[v.size()-1]=v[v.size()-1]-y[u];
u--;
if(v[v.size()-1]==0)v.pop_back();
if(v.size()==0)break;
sort(v.begin(),v.end());
}
long long sum=0;
for(int i=0;i<v.size();i++){
sum+=v[i];
if(v[i]==0)break;
}
//********
cout<<n-sum<<"\n";}
}
1422C - Bargain | 1611F - ATM and Students |
660A - Co-prime Array | 1692F - 3SUM |
1470A - Strange Birthday Party | 190D - Non-Secret Cypher |
1721B - Deadly Laser | 1721C - Min-Max Array Transformation |
1721A - Image | 1180C - Valeriy and Deque |
557A - Ilya and Diplomas | 1037D - Valid BFS |
1144F - Graph Without Long Directed Paths | 1228A - Distinct Digits |
355B - Vasya and Public Transport | 1230A - Dawid and Bags of Candies |
1530A - Binary Decimal | 1472D - Even-Odd Game |
441C - Valera and Tubes | 1328E - Tree Queries |
265A - Colorful Stones (Simplified Edition) | 296A - Yaroslav and Permutations |
967B - Watering System | 152A - Marks |
1398A - Bad Triangle | 137A - Postcards and photos |
1674D - A-B-C Sort | 334A - Candy Bags |
855A - Tom Riddle's Diary | 1417A - Copy-paste |